#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''
总结：
本章主要讲解list的用法
1、len-获取长度
2、正序读取list中元素：list[i]（i从0开始，len-1为最大值）
3、倒序读取list中元素：list[i]（i从-1开始，-len为list中第一个元素）
3、list.append 追加到末尾和list.insert(i, 'Jack') 追加到i索引位置，i以后位置自动后移
3、pop()-为空则是删除末尾元素，pop(i)删除i索引位置元素
4、list[i]='111',替换i元素位置的值为111
5、获取子list中的元素list[i][j]
'''
# list是一种有序的集合，可以随时添加和删除其中的元素
classmates = ['Michael', 'Bob', 'Tracy']
print(classmates)
print(len(classmates))
print(classmates[0])
# print(classmates[3]) IndexError: list index out of range索引越界
# list 支持从后往前获取，导数第一个为-1
print(classmates[-1])
# 追加到末尾
classmates.append('Adam')
print('追加到末尾', classmates)
# 把元素插入到指定的位置，比如索引号为1的位置
classmates.insert(1, 'Jack')
print('把元素插入到指定的位置，比如索引号为1的位置', classmates)
classmates.insert(5, 'Jack4')

print('把元素插入到指定的位置，比如索引号为5的位置', classmates)

# 删除list末尾的元素
classmates.pop()
print('删除list末尾的元素', classmates)
# 要删除指定位置的元素，用pop(i)方法，其中i是索引位置
classmates.pop(1)
print('要删除指定位置的元素，用pop(i)方法，其中i是索引位置', classmates)
# 要把某个元素替换成别的元素，可以直接赋值给对应的索引位置
classmates[1] = '哈哈我来了'
print(classmates)
#
s = ['python', 'java', ['asp', ['1', '2']], 'scheme']
print(s)
print(s[2][0])
print(s[-2][1])
print(s[-2][1][1])
